home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / TOOLS / NSCHART.ZIP / MANUAL.DOC < prev    next >
Encoding:
Text File  |  1990-05-26  |  22.0 KB  |  629 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                        NSCHART  Version 1.05
  27.                        Shareware User Manual
  28.  
  29.                                 for
  30.  
  31.                           IBM PC, XT, AT
  32.                                 and
  33.                             Compatibles
  34.  
  35.  
  36.                            SILTRONIX, Inc.
  37.                 COPYRIGHT (c) 1987, 1988, 1989, 1990
  38.                                 by
  39.                              SILTRONIX
  40.  
  41.                         All Rights Reserved
  42.  
  43.  
  44.  
  45.  
  46. Program License Agreement
  47.  
  48. Copyright:  The program and its related documentation are 
  49. copyrighted.  You may not use, copy, modify, or transfer the program or 
  50. documentation or any copy except as expressly provided in this 
  51. agreement.  Information in this document is subject to change without 
  52. notice and does not represent a commitment on the part of SILTRONIX, 
  53. Inc.
  54.  
  55. License:  You have the  nonexclusive right to use the enclosed 
  56. program. You may physically transfer the program from one computer to 
  57. another.  You may not distribute copies of the program or accompanying 
  58. documentation to others for profit, excepting a reasonable duplication 
  59. fee.  You may not modify or translate the program or documentation.
  60.  
  61. Terms:  This  license is effective until terminated.  You may 
  62. terminate the agreement by destroying the program and all copies thereof 
  63. and its documentation.  This license will also terminate if you fail to 
  64. comply with any terms or conditions of this agreement; you agree upon 
  65. such termination to destroy all copies of the program and documentation.  
  66. Use of the program constitutes your acceptance of these terms.
  67.  
  68. Warranty
  69.  
  70. SILTRONIX does not warrant anything.
  71.  
  72. THIS WARRANTY IS IN LIEU OF ALL OTHER EXPRESS OR STATUTORY 
  73. WARRANTIES, AND THE DURATION OF ANY IMPLIED WARRANTY, INCLUDING BUT 
  74. NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
  75. FITNESS FOR A PARTICULAR PURPOSE, IS HEREBY LIMITED TO SAID NINETY 
  76. (90) DAY PERIOD.  SILTRONIX LIABILITY IS LIMITED SOLELY TO THE 
  77. REPLACEMENT OF THE DEFECTIVE PRODUCT AND SHALL NOT IN ANY EVENT 
  78. INCLUDE DAMAGES FOR LOSS OF USE, OR LOSS OF ANTICIPATED PROFITS OR 
  79. BENEFITS, OR OTHER INCIDENTAL OR CONSEQUENTIAL COSTS, EXPENSES, OR 
  80. DAMAGES INCLUDING WITHOUT LIMITATION ANY DATA OR INFORMATION WHICH 
  81. MAY BE LOST OR RENDERED INACCURATE, EVEN IF SILTRONIX  HAS BEEN 
  82. ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. NSChart is a trademark of SILTRONIX, Inc.
  90.  
  91. Microsoft and MS-DOS are registered trademarks of
  92. Microsoft Corporation.
  93.  
  94. IBM is a registered trademark of
  95. International Business Machines Corporation.
  96.  
  97.  
  98.  
  99. SILTRONIX
  100. Post Office Box 82544
  101. San Diego, California 92138-2544
  102.  
  103. (619)541-2502
  104.  
  105.  
  106. Preface
  107.  
  108. This document is intended ONLY as a minimal introduction to NSChart.  
  109. If you wish to receive the real manual please register your copy of 
  110. NSChart with Siltronix by phoning the number above and paying the $35 
  111. registration fee.
  112.  
  113.  
  114.  Command Summary
  115.  
  116. This section is a quick reference guide to using NSChart by 
  117. function, parameter, keystroke, command, or screen.
  118.  
  119. Function                Keystroke Command        Screen
  120.  
  121. About this program;      A                        Main Menu
  122. change Directory;        D                        Main Menu
  123. draw Chart;              C                        Main Menu
  124. Exit;                    E                        Main Menu
  125. file Mask;               M                        Main Menu
  126. Hard copy;               H                        Main Menu
  127. Options;                 O                        Main Menu
  128. Prettify input file;     P                        Main Menu
  129. Select input file        S                        Main Menu
  130.  
  131.  
  132. Parameter      Meaning                              Screen
  133.  
  134. \subdir        use subdirectory in root             Change Directory
  135. chart width    width of chart (excluding margin)    Options Menu;
  136. chart length   length of chart (excluding margin)   Options Menu
  137.  
  138. file name      input file name appears on printed   Options Menu
  139.                chart
  140. file Mask      Mask to screen input files           Main Menu;
  141.  
  142. left margin    white space to left of chart         Options Menu
  143. line width     thickness of graphic lines in bits   Options Menu
  144.  
  145. paper width    width of paper in printer            Options Menu
  146. paper length   length of paper in printer           Options Menu
  147.  
  148. sideways       printed output rotated 90 degree     Options Menu
  149. subdir         use subdirectory of current dir.     Change Directory
  150.  
  151. top margin     white space above chart             Options Menu
  152.  
  153.  
  154. Command        Meaning                              Screen
  155.  
  156. .              cancel(use current directory)        Change Directory
  157. ..             change to parent directory           Change Directory
  158.  
  159. *.*            any file                             File Mask;
  160. *.ext          any file ending in ".ext"            File Mask
  161. unit1.*        all "unit1." files with any ext.     File Mask
  162.  
  163.  
  164.  
  165.  
  166. a?.            two letters starting with "a"        File Mask
  167. b*.*           any file beginning with "b"          File Mask
  168. C              draw Chart                           Main Menu;
  169.  
  170. <CTRL>-End       move view to bottom right corner       Draw Chart;
  171. <CTRL>-Home      move view to top left corner of chart  Draw Chart
  172. <CTRL>-left ar.  move view one window left              Draw Chart
  173. <CTRL>-right ar. move view one window right             Draw Chart
  174.  
  175. D              change Directory                     Main Menu
  176. down arrow     move view 8 pixels up                Draw Chart
  177.  
  178. E              Exit                                 Main Menu
  179. End            move vertically to bottom of chart   Draw Chart
  180.  
  181. H              Hard copy                            Main Menu
  182. Home           move vertically to top of chart      Draw Chart
  183.  
  184. left arrow     move view 8 pixels to left           Draw Chart
  185.  
  186. M              file Mask                            Main Menu
  187.  
  188. O              Options                              Main Menu
  189.  
  190. P              Prettify input file                  Main Menu
  191. Pg Up          move view one window up              Draw Chart
  192. Pg Down        move view one window down            Draw Chart
  193.  
  194. right arrow    move view 8 pixels to right          Draw Chart
  195.  
  196. S              Select input file                    Main Menu
  197.  
  198. up arrow       move view 8 pixels down              Draw Chart
  199.  
  200.  
  201. Screen           Action               Function
  202.  
  203. Main Menu        D                    change Directory;
  204.                  M                    file Mask;
  205.                  S                    Select input file;
  206.                  P                    Prettify input file;
  207.                  C                    draw Chart;
  208.                  H                    Hard copy;
  209.                  O                    Options;
  210.                  A                    About this program;
  211.                  E                    Exit
  212.  
  213.  
  214.  
  215.  
  216. change Directory  .                   cancel (use current directory)
  217.                  ..                   parent
  218.                 \subdirectory         use subdirectory in root
  219.                 subdirectory          use subdirectory of current
  220.                                       directory
  221.  
  222. file Mask........*.ext                any file with an extension of 
  223.                                       "ext"
  224.                  unit1.*              all "unit1" files with any 
  225.                                       extension
  226.                  b*.*                 all files beginning with "b"
  227.                  a?.                  two-letter file names 
  228.                                       beginning with "a" and no ext. 
  229.  
  230. draw Chart       left arrow           move view 8 pixels to left
  231.                  right arrow          move view 8 pixels to right
  232.                  down arrow           move view 8 pixels up
  233.                  up arrow             move view 8 pixels down
  234.                  <CTRL>-left arrow    move view one window left
  235.                  <CTRL>-right arrow   move view one window right
  236.                  Page Up              move view one window up
  237.                  Page Down            move view one window down
  238.                  Home                 move vert. to top of chart
  239.                  End                  move vert. to bottom of chart
  240.                  <CTRL>-Home          move view to top left corner 
  241.                                        of chart
  242.                  <CTRL> -End          move view to bottom right 
  243.                                        corner of chart
  244.                  N                    redraw chart at normal size
  245.                  E                    redraw chart expanded
  246.                  R                    redraw chart reduced
  247.                  F                    redraw chart to fit on screen
  248.  
  249. Options Menu     paper width          width of paper in printer
  250.                  paper length         length of one sheet of paper 
  251.                                        in printer
  252.                  left margin          white space to left of chart
  253.                  top margin           white space above chart
  254.                  chart width          width of chart (excluding
  255.                                        margin)
  256.                  chart length         length of chart (excluding 
  257.                                        margin)
  258.  
  259.                  line width           thickness of graphic lines in 
  260.                                        bits
  261.                  sideways             printed output rotated 90 deg.
  262.                                        when selected
  263.                  file name            input file name appears on 
  264.                                        printed chart when selected
  265.  
  266.  
  267.  
  268.  
  269.  
  270. Structured Language for NSChart
  271.  
  272. NSChart and the user must communicate.  NSChart needs syntactically 
  273. predictable input.  NSChart's input is an ASCII text file.  The 
  274. syntactical rules of NSPDL define a structured language, a program 
  275. design language (PDL).  Because it pertains to Nassi-Shneiderman charts, 
  276. the NSChart structured language is called NSPDL.
  277.  
  278. Text strings always appear in the chart centered in their box.  They 
  279. may either be labels or process descriptions.  Any string that describes 
  280. a process may be replaced by a more complex structure.  This allows you 
  281. to start with a very simple overview that becomes more detailed as the 
  282. design of the program is refined.  Text to be printed in the flow 
  283. diagram must be enclosed within a pair of " (quotation marks); -- "like 
  284. this".  Any character except the quotation mark may be used in the 
  285. enclosed text.  A text string can also be empty -- "".  This is useful 
  286. where NSPDL requires a text string but you do not want any text to 
  287. appear on the NS chart.
  288.  
  289.  
  290.  
  291. The .key words used by NSChart relate to general key words 
  292. referenced by structured programming languages. They tell the NSChart 
  293. program what to draw, but do not themselves appear in the chart.  The 
  294. list of NSChart key words is as follows:
  295.  
  296.   begin        do         endcase     endrepeat   if           then
  297.   block        else       endfor      endwhile    loop         title
  298.   call         end        endif       for         of           until
  299.   case        endblock    endloop     goto        repeat       while
  300.  
  301. Except for the basic process statement, each control statement must 
  302. include at least one key word, indicating to NSChart the type of symbol 
  303. to be drawn.  
  304. Key words are case independent, i.e., they may be in upper or lower 
  305. case or even a mixture of the two.
  306.  
  307. The minimum requirement for an NSChart input file is that it must 
  308. contain at least one valid statement that produces a cohesive Nassi-
  309. Shneiderman flow diagram.  The different kinds of control statements are 
  310. explained below.
  311.  
  312.  
  313.  
  314. NSPDL Syntax Discussion
  315.  
  316. In the syntax descriptions of the key words in this section, the 
  317. symbol "<text>" refers to any string of zero or more characters; the 
  318. word "statement" itself refers to any NSPDL construct.  In the examples 
  319. that accompany each NSPDL construct, the NSPDL text is shown.  Items in 
  320. braces may be filled with other NSChart control statements to allow for 
  321. nested logic.
  322.  
  323.  
  324.  
  325.  Title directive
  326.  
  327. The title; directive is optional; its key word is, appropriately, 
  328. "title".  The text string enclosed in quotation marks following it 
  329. appears as the title of the NS chart.  The title directive is different 
  330. from all other NSChart key words in that it can appear only once and 
  331. only at the beginning of the text file and that it is the only key word 
  332. construct whose output is not enclosed in any sort of box.
  333.  
  334. The syntax of the title directive is:
  335.  
  336.      [ title "<text>" ]
  337.  
  338. Here is an example:
  339.  
  340.      title "Sample Nassi-Shneiderman Chart"
  341.  
  342. This directive produces the title, "Sample Nassi-Shneiderman Chart", 
  343. centered at the top of the chart above the line defining the top 
  344. boundary of the chart.
  345.  
  346.  
  347.  
  348.  PROCESS statement
  349.  
  350. The basic control statement is the  PROCESS statement;.  It does not 
  351. require a key word.  It is created by entering a  string of displayable 
  352. ASCII characters enclosed in " (quotation marks);.  This produces a 
  353. simple flow; symbol with the PROCESS statement inside it.
  354.  
  355. The syntax of the PROCESS statement is:
  356.  
  357.      "<text>"
  358.  
  359. Here is an example:
  360.  
  361.      "Read the next record."
  362.  
  363.  
  364.  
  365.  CALL statement
  366.  
  367. The CALL statement; is used to draw attention to a process that 
  368. appears elsewhere in the flow chart and continues where the call 
  369. statement leaves off.  Its key word is "call".  It produces a simple-
  370. flow symbol lightly highlighted inside and next to its borders to 
  371. indicate that the process is expanded elsewhere.
  372.  
  373. The syntax of the CALL statement is:
  374.  
  375.      CALL "<text>"
  376.  
  377. Here is an example:
  378.  
  379.      call "X5INBUF -- Read and decode next input buffer."
  380.  
  381.  
  382.  
  383.  
  384.  GOTO statement
  385.  
  386. The GOTO statement; is a deviation from structured programming based 
  387. on pragmatism.  In the real programming world there are situations which 
  388. force compromise, such as an abnormal exit from a process when the 
  389. elegant solution carries too much overhead (in the opinion of the chief 
  390. decision maker).  The GOTO statement indicates a direct transfer of 
  391. control to a process that appears elsewhere in the flow chart.  Its key 
  392. word is "goto".  It produces a simple-flow symbol heavily highlighted 
  393. inside and next to its borders to indicate not just that control is 
  394. transferred to a process that is expanded elsewhere, but that this 
  395. transfer is an abnormal break in the flow.
  396.  
  397.  
  398. The syntax of the GOTO statement is:
  399.  
  400.      GOTO "<text>"
  401.  
  402. Here is an example:
  403.  
  404.      goto "Power failure emergency shut-down routine"
  405.  
  406.  
  407.  
  408.  
  409.  IF statement 
  410.  
  411. The IF statement; depicts a transfer of control based upon a Boolean 
  412. condition.  Its key words are:  "if", "then", and "endif"; an optional 
  413. key word is "else".  Note that only the conditional statement requires 
  414. any text.  Text for labels and their dependent statements may be void.
  415.  
  416. The syntax of the IF statement is:
  417.  
  418.      IF "<text>" then [ [ "<text>": ]
  419.        [ { statement(s) } ] ]
  420.      [ else [ [ "<text>": ]
  421.        [ { statement(s) } ] ] ]
  422.      endif
  423.  
  424. Here is an example:
  425.  
  426.      if "Am I going on a trip?" then "yes" :
  427.        "Take out traveler's checks."
  428.      else "no" :
  429.        "Take out cash."
  430.      endif
  431.  
  432.  
  433.  
  434.  
  435.  CASE statement
  436.  
  437. The CASE statement; marks the beginning of a case block and 
  438. transfers control to a set of statements based upon the clause contained 
  439. within the statement itself.  Its key words are "case", "of", and 
  440. "endcase".  The CASE statement syntax requires at least two cases.  
  441. There is no upper limit on the number of cases.
  442.  
  443. The syntax of the CASE statement is:
  444.  
  445.      CASE"<text>" of
  446.        "<text>" : { statement(s) }
  447.        { "<text>" : { statement(s) } }
  448.      endcase
  449.  
  450. Here is an example:
  451.  
  452.      case "I didn't get out of bed today because" of
  453.        "faulty alarm" : "no excuse -- go to work"
  454.        "lazy" : "call in sick"
  455.        "sick" : "go see doctor"
  456.        "weekend" : "relax & enjoy"
  457.      endcase
  458.  
  459.  
  460.  
  461.  
  462.  FOR/WHILE statement
  463.  
  464. Looping structures where the conditional item is tested at the top 
  465. of the loop; can be produced by two different but functionally identical 
  466. statements.  The first of these, the FOR statement;, has two sets of key 
  467. words:  "for", "do", and "endfor"; and "for", "loop", and "endloop".  
  468. FOR loops are used for traversing an entire range, such as searching an 
  469. array.
  470.  
  471. The syntax of the two corresponding FOR statements is:
  472.  
  473.      FOR "<text>" do               FOR "<text>" loop
  474.        { statement(s) }     -- or --       { statement(s) }
  475.      endfor                         endloop
  476.  
  477. The second of these two loop structures is the WHILE statement;.  
  478. Its keywords are:  "while", "do", and "endwhile"; and "while", ".loop", 
  479. and "endloop".  WHILE loops (as opposed to FOR loops) terminate based on 
  480. a change of some condition within the loop.
  481.  
  482. The syntax of the WHILE statement is:
  483.  
  484.      WHILE "<text>" do               WHILE "<text>" loop
  485.        { statement(s) }     -- or --       { statement(s) }
  486.      endwhile                    endloop
  487.  
  488. Here is an example of each statement type; note that the chart looks 
  489. the same for both:
  490.  
  491.      for "during break" do          while "during break" do
  492.        "eat lunch"          -- or --       "eat lunch"
  493.      endfor                         endwhile
  494.  
  495.  
  496.  
  497.  
  498.  REPEAT statement
  499.  
  500. The REPEAT statement; is used to produce a loop;ing structure where 
  501. the  conditional item is tested at the bottom of the loop.  It has two 
  502. sets of keywords:  "repeat" and "until", and "repeat" and "endrepeat".
  503.  
  504. The syntax of the two sets of key words is:
  505.  
  506.      REPEAT                              REPEAT
  507.        { statement(s) }          -- or --       { statements(s) }
  508.      until "<text>"                    endrepeat "<text>"
  509.  
  510. Here is an example:
  511.  
  512.      repeat
  513.        "Say 'Play it again, Sam!'"
  514.      until "Stop when Sam plays it again."
  515.  
  516.  
  517.  
  518.  
  519.  BLOCK/LOOP statement
  520.  
  521. A functional blocking structure is provided by the BLOCK statement 
  522. and/or LOOP statement;.  Its function is to define a scope, i.e., to set 
  523. limits -- "begin" to "end" in some languages -- around a functionally 
  524. discrete process.  By extension, the block construct can be used to 
  525. indicate a generic loop, where the process is iterative, yet it is not 
  526. known nor perhaps par-ticularly relevant to define it as either a while 
  527. or repeat loop.  This statement has two sets of key words which are 
  528. functionally identical:  "block" and "endblock", and "loop" and 
  529. "endloop".
  530.  
  531. The syntax of the BLOCK or LOOP statement is:
  532.  
  533.      BLOCK "<text>"               LOOP "<text>"
  534.        { statement(s) }     -- or --      { statement(s) }
  535.      endblock "<text>"               endloop "<text>"
  536.  
  537. Here is an example of each statement type; note that the chart looks 
  538. the same for both:
  539.  
  540.      block "Give all neighborhood kids a dollar."
  541.        "Give kid a dollar and go to next house."
  542.      endblock "Kids are rich and you're broke."
  543.  
  544.                -- or --
  545.  
  546.      loop "Give all neighborhood kids a dollar."
  547.        "Give kid a dollar and go to next house."
  548.      endloop "Kids are rich and you're broke."
  549.  
  550.  
  551.  
  552.  
  553.  BEGIN-END statement
  554.  
  555. The BEGIN-END statement; is an aid for generating correctly nested 
  556. NSPDL.  It has no effect on the diagram produced by NSChart.  Its 
  557. key words are "begin" and "end".  Text nested within these key words 
  558. produces the same chart as though these two delimiters had not been 
  559. there.  Also, there is no requirement for any text to appear between 
  560. "begin" and "end".
  561.  
  562. The syntax of the BEGIN-END statement is:
  563.  
  564.      begin
  565.        [ { statement(s) } ]
  566.      end
  567.  
  568. Here is an example:
  569.  
  570.      begin
  571.        call "Get the next input (ABC function)."
  572.        "Be sure to replace this node with the logic
  573.        structure of the random transcendental number
  574.        generator once it is designed."
  575.        call "Save the new results (XYZ function)."
  576.      end
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.          ----------------end-of-author's-documentation---------------
  584.  
  585.                          Software Library Information:
  586.  
  587.                     This disk copy provided as a service of
  588.  
  589.                            Public (software) Library
  590.  
  591.          We are not the authors of this program, nor are we associated
  592.          with the author in any way other than as a distributor of the
  593.          program in accordance with the author's terms of distribution.
  594.  
  595.          Please direct shareware payments and specific questions about
  596.          this program to the author of the program, whose name appears
  597.          elsewhere in  this documentation. If you have trouble getting
  598.          in touch with the author,  we will do whatever we can to help
  599.          you with your questions. All programs have been tested and do
  600.          run.  To report problems,  please use the form that is in the
  601.          file PROBLEM.DOC on many of our disks or in other written for-
  602.          mat with screen printouts, if possible.  PsL cannot debug pro-
  603.          programs over the telephone, though we can answer questions.
  604.  
  605.          Disks in the PsL are updated  monthly,  so if you did not get
  606.          this disk directly from the PsL, you should be aware that the
  607.          files in this set may no longer be the current versions. Also,
  608.          if you got this disk from another vendor and are having prob-
  609.          lems,  be aware that  some files may have become corrupted or
  610.          lost by that vendor. Get a current, working disk from PsL.
  611.  
  612.          For a copy of the latest monthly software library newsletter
  613.          and a list of the 2,000+ disks in the library, call or write
  614.  
  615.                            Public (software) Library
  616.                                P.O.Box 35705 - F
  617.                             Houston, TX 77235-5705
  618.  
  619.                                 1-800-2424-PSL
  620.                                  MC/Visa/AmEx
  621.  
  622.                           Outside of U.S. or in Texas
  623.                           or for general information,
  624.                               Call 1-713-524-6394
  625.  
  626.                           PsL also has an outstanding
  627.                           catalog for the Macintosh.
  628.  
  629.